home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: Parent Power / The Sunday Times - Parent Power.iso / pc / engine / map.swf / scripts / frame_1 / DoAction.as < prev   
Encoding:
Text File  |  2005-10-31  |  1.3 KB  |  57 lines

  1. _global.EventBroadcaster = new Object();
  2. EventBroadcaster.initialize = function(obj)
  3. {
  4.    var _loc1_ = obj;
  5.    var _loc2_ = this;
  6.    _loc1_._listeners = new Array();
  7.    _loc1_.broadcastMessage = _loc2_._broadcastMessage;
  8.    _loc1_.addListener = _loc2_._addListener;
  9.    _loc1_.removeListener = _loc2_._removeListener;
  10.    _loc1_.clearListeners = _loc2_._clearListeners;
  11. };
  12. EventBroadcaster._broadcastMessage = function()
  13. {
  14.    var _loc3_ = arguments.shift();
  15.    var _loc2_ = this._listeners;
  16.    var _loc1_ = _loc2_.length;
  17.    while(true)
  18.    {
  19.       _loc1_;
  20.       if(!_loc1_--)
  21.       {
  22.          break;
  23.       }
  24.       _loc2_[_loc1_][_loc3_].apply(_loc2_[_loc1_],arguments);
  25.    }
  26. };
  27. EventBroadcaster._addListener = function(obj)
  28. {
  29.    this.removeListener(obj);
  30.    this._listeners.push(obj);
  31.    return true;
  32. };
  33. EventBroadcaster._removeListener = function(obj)
  34. {
  35.    var _loc3_ = obj;
  36.    var _loc2_ = this._listeners;
  37.    var _loc1_ = _loc2_.length;
  38.    while(true)
  39.    {
  40.       _loc1_;
  41.       if(!_loc1_--)
  42.       {
  43.          break;
  44.       }
  45.       if(_loc2_[_loc1_] == _loc3_)
  46.       {
  47.          _loc2_.splice(_loc1_,1);
  48.          return true;
  49.       }
  50.    }
  51.    return false;
  52. };
  53. EventBroadcaster._clearListeners = function()
  54. {
  55.    this._listeners = new Array();
  56. };
  57.